<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0" xmlns:ctl="http://arche.auction.co.kr/WebControl/XmlControl" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:auc="http://schema.auction.co.kr/Arche.Auction.xsd" xmlns:ms="urn:schemas-microsoft-com:xslt"
  xmlns:ARCHE="http://www.auction.co.kr/xsltFunc" exclude-result-prefixes="ctl auc ms xsl ARCHE">
  <xsl:output indent="no" method="html" encoding="utf-8" />
  <xsl:param name="ControlAttribute" />
  <xsl:param name="Kind" />
  <xsl:param name="ShowCount">Y</xsl:param>
  <xsl:variable name="DataRootNode" select="/*" />
  <xsl:variable name="CurrentCategoryID">
    <xsl:if test="$DataRootNode/@AssortType and $DataRootNode/@AssortType = 'S'">
      <xsl:choose>
        <xsl:when test="$DataRootNode/@VisualLevel = 'L'">
          <xsl:value-of select="$DataRootNode/auc:LCategory/@ID" />
        </xsl:when>
        <xsl:when test="$DataRootNode/@VisualLevel = 'M'">
          <xsl:value-of select="$DataRootNode/auc:MCategory/@ID" />
        </xsl:when>
        <xsl:when test="$DataRootNode/@VisualLevel = 'S'">
          <xsl:value-of select="$DataRootNode/auc:SCategory/@ID" />
        </xsl:when>
        <xsl:when test="$DataRootNode/@VisualLevel = 'D'">
          <xsl:value-of select="$DataRootNode/auc:DCategory/@ID" />
        </xsl:when>
      </xsl:choose>
    </xsl:if>
  </xsl:variable>
  <!--
  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  Start TEMPLATE
  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  -->
  <xsl:template match="/">
    <DIV id="category">
      <TABLE id="Table1" cellSpacing="3" cellPadding="0" border="0">
        <xsl:attribute name="width">
          <xsl:value-of select="$ControlAttribute/Width" />
        </xsl:attribute>
        <xsl:apply-templates mode="TR" select="*/auc:SubCategoryList" />
      </TABLE>
    </DIV>
  </xsl:template>
  <!--
  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  SubCategoryList(TR) TEMPLATE
  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  SubCategoryList를 4개씩 그룹화했을 경우 각 그룹의 첫번째
  데이터에 적용되는 템플릿입니다.
  -->
  <xsl:template match="auc:SubCategoryList[(position() - 1) mod 4 = 0]" mode="TR">
    <xsl:variable name="CurPos" select="position()" />
    <TR height="23">
      <xsl:attribute name="bgColor">
        <xsl:choose>
          <!-- 홀수행과 짝수행을 구분지어서 bgColor가 다르게 설정되도록 합니다 -->
          <xsl:when test="ceiling(position() div 4) mod 2 = 1">#f3f3f3</xsl:when>
          <xsl:otherwise>#ffffff</xsl:otherwise>
        </xsl:choose>
      </xsl:attribute>
      <!-- 현재 Xml노드와 이후 3개의 SubCategoryList노드를 렌더링하도록 합니다. -->
      <xsl:apply-templates mode="TD" select="../auc:SubCategoryList[position() &gt;= $CurPos and position() &lt; $CurPos + 4]">
		<xsl:with-param name="TotalPos" select="$CurPos"></xsl:with-param>
      </xsl:apply-templates>
    </TR>
  </xsl:template>
  <!--
  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  SubCategoryList(TD) TEMPLATE
  ////////////
  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  -->
  <xsl:template match="auc:SubCategoryList" mode="TD">
	<xsl:param name="TotalPos" />
    <TD width="25%">
      <xsl:if test="$CurrentCategoryID = @ID">
        <xsl:attribute name="bgColor">#e1e6ff</xsl:attribute>
      </xsl:if>
      <xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text>
      <IMG src="http://www.auction.co.kr/category/image/pop_bullet2.gif" />
      <xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text>
      <A>
		<xsl:attribute name="class">mainmenu</xsl:attribute>
        <xsl:if test="$CurrentCategoryID != @ID">
          <xsl:attribute name="href">javascript:GoCategory('<xsl:value-of select="@ID" />', '<xsl:value-of select="$Kind" />')</xsl:attribute>
        </xsl:if>
        <xsl:if test="$CurrentCategoryID = @ID">
          <xsl:attribute name="class">link_current</xsl:attribute>
        </xsl:if>
        <xsl:value-of select="@Name" />
        <xsl:if test="$ShowCount = 'Y'">
	        [<xsl:value-of select="@ItemCount" />]
        </xsl:if>
        <xsl:if test="@AttributeType='C'">
			<img src="./image/19.gif" border="0" align="absmiddle" hspace="2"/>
		</xsl:if>

      </A>
    </TD>
    <xsl:if test="position() = last() and position()  != 4 and $TotalPos &gt; 3 ">
      <xsl:call-template name="RenderTD">
        <xsl:with-param name="Count" select="4 - position()" />
      </xsl:call-template>
    </xsl:if>
  </xsl:template>
  <!--
  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  RenderTD TEMPLATE
  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  -->
  <xsl:template name="RenderTD">
    <xsl:param name="Index" select="1" />
    <xsl:param name="Count" select="1" />
    <TD>
      <xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text>
    </TD>
    <xsl:if test="$Index &lt; $Count">
      <xsl:call-template name="RenderTD">
        <xsl:with-param name="Index" select="$Index + 1" />
        <xsl:with-param name="Count" select="$Count" />
      </xsl:call-template>
    </xsl:if>
  </xsl:template>
  <!--
  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  nbsp TEMPLATE
  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  -->
  <xsl:template name="nbsp">
    <xsl:param name="Index" select="1" />
    <xsl:param name="Count" select="1" />
    <xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text>
    <xsl:if test="$Index &lt; $Count">
      <xsl:call-template name="nbsp">
        <xsl:with-param name="Index" select="$Index + 1" />
        <xsl:with-param name="Count" select="$Count" />
      </xsl:call-template>
    </xsl:if>
  </xsl:template>
</xsl:stylesheet>